package com.jch.dm.chapter_8_abstract_factory.tablefactory;

import com.jch.dm.chapter_8_abstract_factory.factory.Factory;
import com.jch.dm.chapter_8_abstract_factory.factory.Link;
import com.jch.dm.chapter_8_abstract_factory.factory.Page;
import com.jch.dm.chapter_8_abstract_factory.factory.Tray;

/**
 * @author: jch
 * 抽象工厂模式 示例
 **/
public class TableFactory extends Factory {
    /**
     * 创建link
     *
     * @param caption 说明
     * @param url     url
     * @return link
     */
    @Override
    public Link createLink(String caption, String url) {
        return new TableLink(caption, url);
    }

    /**
     * 创建tray
     *
     * @param caption 说明
     * @return tray
     */
    @Override
    public Tray createTray(String caption) {
        return new TableTray(caption);
    }

    /**
     * 创建页面
     *
     * @param title  标题
     * @param author 作者
     * @return page
     */
    @Override
    public Page createPage(String title, String author) {
        return new TablePage(title, author);
    }
}
